//package com.example.excel;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//
//@Configuration  //等同于spring的XML配置文件
//public class WebSecurityConfig implements WebMvcConfigurer {
//    /**
//     * 登录session key
//     */
//    public final static String SESSION_KEY = "user";
//
//    @Bean
//    public SecurityInterceptor getSecurityInterceptor(){
//        return  new SecurityInterceptor();
//    }
//
//    @Override
//    public void addInterceptors (InterceptorRegistry registry){
//        InterceptorRegistration addInterceptor = registry.addInterceptor(getSecurityInterceptor());
//
//        /* 配置不需要拦截的路由 */
//        addInterceptor.excludePathPatterns("/login");
//
//        /* 配置需要拦截的路由 */
//        addInterceptor.addPathPatterns("/**");
//    }
//
//    private class SecurityInterceptor extends HandlerInterceptorAdapter{
//        @Override
//        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
//                throws Exception{
//            /* 获取session */
//            HttpSession session = request.getSession();
//
//            /* 可自定义判断 */
//            if(session.getAttribute(SESSION_KEY) != null){
//                /* 有session值，则继续下一步操作 */
//                return  true;
//            }
//
//            /*如果没有session值，则返回 401 的错误信息 */
//            response.setStatus(401);
//            return false;
//        }
//    }
//}
